perm filename PUZZE.SAI[225,JMC] blob sn#005378 filedate 1971-06-02 generic text, type T, neo UTF8
00100	begin integer p,c,i,i1,i2,i3,i4,i5,i6,i7,i8,i9,j2,j3,j4,j5,
00200	j6,j7,j8,j9,t10,t11,t12,t13,t21,t30,t40,t53,t23;
00300	preload_with
00400	4,2,1,2,4,2,1,
00500	2,4,1,3,2,4,1,
00600	1,2,3,4,1,2,3,
00700	4,3,1,3,4,3,1,
00800	2,2,1,4,2,2,1,
00900	2,1,3,4,2,1,3,
01000	4,2,3,1,4,2,3,
01100	1,1,1,2,1,1,1,
01200	2,1,4,3,2,1,4;
01300	safe integer array a[0:62],occ[0:62];
01400	for i ← 0 step 1 until 62 do occ[i] ← 0;
01500	p ← 0;
     

00100	c←0;
00200	
00300	for i1 ← 0 step 7 until 56 do begin
00400	occ[i1] ← 1; t10←a[i1];t11←a[i1+1];t12←a[i1+2];t13←a[i1+3];
00500	for i2 ← 0 step 7 until 56 do
00600	if occ[i2] = 0 then begin
00700	occ[i2] ← 1;
00800	for j2 ← 0 step 1 until 3 do
00900	if t12 + a[i2+j2] = 5 then begin t21←a[i2+j2+1]; t23←a[i2+j2+3];
01000	for i3 ← 0 step 7 until 56 do
01100	if occ[i3] = 0 then begin
01200	occ[i3] ← 1;
01300	for j3 ← 0 step 1 until 3 do
01400	if t21 + a[i3+j3+3] = 5 then begin t30←a[i3+j3];
01500	for i4 ← 0 step 7 until 56 do
01600	if occ[i4] = 0 then begin
01700	occ[i4] ← 1;
01800	for j4 ← 0 step 1 until 3 do
01900	if t30 + a[i4+j4+2] = 5 ∧
02000		t11 + a[i4+j4+3] = 5 then begin t40←a[i4+j4];
02100	for i5 ← 0 step 7 until 56 do
02200	if occ[i5] = 0 then begin
02300	occ[i5] ← 1;
02400	for j5 ← 0 step 1 until 3 do
02500	if t40 + a[i5+j5+2] = 5 then begin t53←a[i5+j5+3];
02600	for i6 ← 0 step 7 until 56 do
02700	if occ[i6] = 0 then begin
02800	occ[i6] ← 1;
02900	for j6 ← 0 step 1 until 3 do
03000	if t10 + a[i6+j6+2] = 5 ∧
03100		t53 + a[i6+j6+1] = 5 then
03200	for i7 ← 0 step 7 until 56 do
03300	if occ[i7] = 0 then begin
03400	occ[i7] ← 1;
03500	for j7 ← 0 step 1 until 3 do
03600	if a[i6+j6+3] + a[i7+j7+1] = 5 then
03700	for i8 ← 0 step 7 until 56 do
03800	if occ[i8] = 0 then begin
03900	occ[i8] ← 1;
04000	for j8 ← 0 step 1 until 3 do
04100	if a[i7+j7+2] + a[i8+j8] = 5 ∧
04200		t13 + a[i8+j8+1] = 5 then
04300	for i9 ← 0 step 7 until 56 do
04400	if occ[i9] = 0 then
04500	for j9 ← 0 step 1 until 3 do
04600	if t23 + a[i9+j9+1] = 5 ∧
04700		a[i8+j8+2] + a[i9+j9] = 5 then
04800	c ← c + 1;
04900	occ[i8] ← 0 end;
05000	occ[i7] ← 0 end;
05100	occ[i6] ← 0 end end;
05200	occ[i5] ← 0 end end;
05300	occ[i4] ← 0 end end;
05400	occ[i3] ← 0 end end;
05500	occ[i2] ← 0 end;
05600	occ[i1] ← 0 end;
05700	
05800	outstr(cvs(c));
05900	end